# -*- coding: utf-8 -*-

class PypPlugin(object):
    pass

class 内建关键字(PypPlugin):
    标题 = "内建关键字"
    描述 = "Python 内建关键字"
    关键字 = {
        # logic
        "和":"and",
        "或":"or",
        "真":"True",
        "假":"False",
        "空":"None",
        # def
        "定义":"def",
        "类":"class",
        "我":"self",
        "自己":"self",
        "全局":"global",
        # import
        "从":"from",
        "导入":"import",
        "作为":"as",
        # flow
        "返回":"return",
        "略过":"pass",
        "引发":"raise",
        "继续":"continue",
        # control
        "如果":"if",
        "否则如果":"elif",
        "否则":"else",
        # for loop
        "取":"for",
        "自":"in",
        "在":"in",
        "不在":"not in",
        # while loop
        "当":"while",
        "跳出":"break",
        "中断":"break",
        # try
        "尝试":"try",
        "异常":"except",
        "最后":"finally",
        "断言":"assert",
        # build in methods
        "执行":"exec",
        "函数":"lambda",
        "打印":"print",
        "伴隨":"with",
        "产生":"yield",
        }

class 内部函数(PypPlugin):
    标题 = "内部函数"
    描述 = "Python 内部函数"
    关键字 = {
        "输入":"input",
        # build-in types
        "字符串":"str",
        "布尔":"bool",
        "列表": "list",
        "字典":"dict",
        "元组":"tuple",
        "集合":"set",
        "定集合":"frozenset",
        "符号":"chr",
        "符号转整数":"ord",
        "档案":"file",
        # number methods
        "整数":"int",
        "浮点数":"float",
        "复数":"complex",
        "十六进制":"hex",
        "绝对值":"abs",
        "比较":"cmp",
        # string methods
        "开头为":"startswith",
        "结尾为":"endswith",
        "连接":"join",
        "分离":"split",
        "代换":"replace",
        "编码":"encoding",
        "解码":"decoding",
        # list methods
        "加入":"append",
        "追加":"append",
        "扩展":"extend",
        "插入":"insert",
        "弹出":"pop",
        "下一笔":"next",
        "移除":"remove",
        "反转":"reverse",
        "计数":"count",
        "索引":"index",
        "排序":"sort",
        # dict methods
        "键列表":"keys",
        "值列表":"values",
        "项目列表":"items",
        "更新":"update",
        "拷贝":"copy",
        # set methods
        "清除":"clear",
        "加":"add",
        "丢弃":"discard",
        "联集":"union",
        "交集":"intersection",
        "差集":"difference",
        "对称差集":"symmetric_difference",
        # file methods
        "打开":"open",
        "读取":"read",
        "写入":"write",
        "读一行":"readline",
        "读多行":"readlines",
        "关闭":"close",
        # OO
        "可调用":"callable",
        "列出属性":"dir",
        "取属性":"getattr",
        "有属性":"hasattr",
        "设定属性":"setattr",
        "属性":"property",
        # build in functions
        "长度":"len",
        "最大值":"max",
        "最小值":"min",
        # build in methods
        "列举":"enumerate",
        "评估":"eval",
        "过滤":"filter",
        "映射":"map",
        "范围":"range",
        "快速范围":"xrange",
        "总和":"sum",
        "类型":"type",
        "类型比较":"isinstance",
        "对象":"object",
        "打包":"zip",
        "帮助":"help",
        "区域变量":"locals",
        "全局变量":"globals",
        "类方法":"classmethod",
        }

class 异常(PypPlugin):
    标题 = "内建异常关键字"
    描述 = "Python 内建异常关键字"
    关键字 = {
        "例外":"Exception",
        "错误":"Error",
        # error
        "运算错误":"ArithmeticError",
        "断言错误":"AssertionError",
        "属性错误":"AttributeError",
        "相容性警示":"DeprecationWarning",
        "空值错误":"EOFError",
        "环境错误":"EnvironmentError",
        "浮点数错误":"FloatingPointError",
        "输出入错误":"IOError",
        "导入错误":"ImportError",
        "缩排错误":"IndentationError",
        "索引错误":"IndexError",
        "键错误":"KeyError",
        "键盘中断":"KeyboardInterrupt",
        "查找错误":"LookupError",
        "内存错误":"MemoryError",
        "名称错误":"NameError",
        "尚未实作":"NotImplemented",
        "尚未实作错误":"NotImplementedError",
        "操作系统错误":"OSError",
        "溢值错误":"OverflowError",
        "溢值警告":"OverflowWarning",
        "引用错误":"ReferenceError",
        "运行期错误":"RuntimeError",
        "运行期警告":"RuntimeWarning",
        "标准错误":"StandardError",
        "停止迭代":"StopIteration",
        "语法错误":"SyntaxError",
        "语法警告":"SyntaxWarning",
        "系统错误":"SystemError",
        "系统结束":"SystemExit",
        "型别错误":"TypeError",
        "跳格错误":"TabError",
        "未绑定区域参数错误":"UnboundLocalError",
        "万国码解码错误":"UnicodeError",
        "自订警告":"UserWarning",
        "值错误":"ValueError",
        "警告":"Warning",
        "Windows错误":"WindowsError",
        "除零错误":"ZeroDivisionError",
        "解码错误":"UnicodeDecodeError",
        }

class pyp(PypPlugin):
    标题 = "Pyp"
    描述 = "Pyp内建关键字"
    关键字 = {
        "中文执行":"zh_exec",
        # logic
        "等于":"==",
        "不等于":"!=",
        "非": "not",
        "是":"is",
        "为":"is",
        "不是":"is not",
        "不为":"is not",
        # private
        "文件":"doc",
        "初始化":"init",
        "刪除":"del",
        "描述":"repr",
        "测试":"test",
        }

#enter simplified chinese dict here
class 系统模块(PypPlugin):
    标题 = "系统"
    种类 = "系统模块"
    关键字 = {
        "系统":"sys",
        "版本":"version",
        "参数":"argv",
        "结束":"exit",
        "取得档案系统编码":"getfilesystemencoding",
        "模块列表":"modules",
        "平台":"platform",
        "标准错误":"stderr",
        "标准输入":"stdin",
        "标准输出":"stdout",
        # sys path with list methods
        "路径":"path",
        }

class 系统模组(PypPlugin):
    标题 = "系统"
    种类 = "系统模组"
    关键字 = {
        "未定义":"is not defined",
        "名称":"name",
        "行":"line",
        "档案":"File",
        "不合法的":"invalid",
        "语法":"syntax",
        }

class 简体插件():
    内建关键字 = 内建关键字()
    内部函数 = 内部函数()
    异常 = 异常()
    pyp= pyp()
    系统模块 = 系统模块()
    系统模组 = 系统模组()

    '''
    内建关键字.关键字 = 字典反转(内建关键字.关键字)
    内部函数.关键字 = 字典反转(内部函数.关键字)
    异常.关键字 = 字典反转(异常.关键字)
    pyp.关键字 = 字典反转(pyp.关键字)
    系统模块.关键字 = 字典反转(系统模块.关键字)
    系统模组.关键字 = 字典反转(系统模组.关键字)
    '''
    转换 = dict(内建关键字.关键字, **内部函数.关键字)
    转换 = dict(转换, **异常.关键字)
    转换 = dict(转换, **pyp.关键字)
    转换 = dict(转换, **系统模块.关键字)
    转换 = dict(转换, **系统模组.关键字)